M

Ceiling.Create

Description:
Creates a new instance of ceiling within the project.
Remarks:
To validate curve loop profile use BoundaryValidation.
Overloads (2):
Create(Document,IList[CurveLoop],ElementId,ElementId,Line,Double)
public static Ceiling Create(
	Document document,
	IList<CurveLoop> curveLoops,
	ElementId ceilingTypeId,
	ElementId levelId,
	Line slopeArrow,
	double slope
)
  • document
    The document in which the new ceiling is created.
  • IList<CurveLoop>
    curveLoops
    An array of planar curve loops that represent the profile of the ceiling.
  • ceilingTypeId
    Id of the ceiling type to be used by the new ceiling. If InvalidElementId is passed, the default type will be used.
  • levelId
    Id of the level on which the ceiling is to be placed.
  • slopeArrow
    A line used to control the slope angle of the Ceiling. It must be horizontal.
  • Double
    slope
    The slope angle.
Return Value Ceiling If successful a new ceiling object within the project.
Ceiling CreateSlopedCeiling(Document document, Level level)
{
   XYZ first = new XYZ(0, 0, 0);
   XYZ second = new XYZ(20, 0, 0);
   XYZ third = new XYZ(20, 20, 0);
   XYZ fourth = new XYZ(0, 20, 0);
   CurveLoop profile = new CurveLoop();
   profile.Append(Line.CreateBound(first, second));
   profile.Append(Line.CreateBound(second, third));
   profile.Append(Line.CreateBound(third, fourth));
   profile.Append(Line.CreateBound(fourth, first));

   Line slopeArrow = Line.CreateBound(new XYZ(10, 10, 0), new XYZ(11, 10, 0));
   return Ceiling.Create(document, new List<CurveLoop> { profile }, ElementId.InvalidElementId, level.Id, slopeArrow, Math.PI / 2);
}